package com.bit.cfdi.web.domain;

import static javax.persistence.GenerationType.IDENTITY;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "estructura_moneda")
public class EstructuraMoneda implements Serializable {

	private static final long serialVersionUID = 1474137806109056916L;

	// Fields
	private Long idEstructuraMoneda;
	private String claveInternacional;
	private String nombreMoneda;
	private String tipoMonedaSingular;
	private String tipoMonedaPlural;
	private Double tipoCambio;
	private Negocio negocio;
	private Integer status;
	
	// Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_estructura_moneda", nullable = false)
	public Long getIdEstructuraMoneda() {
		return idEstructuraMoneda;
	}
	
	public void setIdEstructuraMoneda(Long idEstructuraMoneda) {
		this.idEstructuraMoneda = idEstructuraMoneda;
	}

	@Column(name = "clave_internacional", length = 3)
	public String getClaveInternacional() {
		return claveInternacional;
	}

	public void setClaveInternacional(String claveInternacional) {
		this.claveInternacional = claveInternacional;
	}

	@Column(name = "nombre_moneda")
	public String getNombreMoneda() {
		return nombreMoneda;
	}

	public void setNombreMoneda(String nombreMoneda) {
		this.nombreMoneda = nombreMoneda;
	}

	@Column(name = "tipo_cambio", precision = 52, scale = 6)
	public Double getTipoCambio() {
		return tipoCambio;
	}

	public void setTipoCambio(Double tipoCambio) {
		this.tipoCambio = tipoCambio;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_negocio")
	public Negocio getNegocio() {
		return negocio;
	}

	public void setNegocio(Negocio negocio) {
		this.negocio = negocio;
	}
	
	@Column(name = "status")
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	@Column(name = "tipo_moneda_sigular")
	public String getTipoMonedaSingular() {
		return tipoMonedaSingular;
	}

	public void setTipoMonedaSingular(String tipoMonedaSingular) {
		this.tipoMonedaSingular = tipoMonedaSingular;
	}

	@Column(name = "tipo_moneda_plural")
	public String getTipoMonedaPlural() {
		return tipoMonedaPlural;
	}

	public void setTipoMonedaPlural(String tipoMonedaPlural) {
		this.tipoMonedaPlural = tipoMonedaPlural;
	}
	
}
